The present invention relates to the generation of forms. More particularly, the present invention relates to methods and apparatus for generating and updating forms or form user interfaces (UIs).
In typical business software products and applications, such as enterprise resource planning (ERP) products, a large number of forms or form user interfaces are used. A form is a window, a dialog, a page, or another UI element for viewing and/or entering data. It is not uncommon for the number of forms which are used in conjunction with a business software application to exceed several thousand. Developing a large number of forms has traditionally been a labor-intensive task for software developers.
Traditionally, in generating the large number of forms required for some business or other types of software applications, software developers have created each of the forms separately and somewhat independently. In order to achieve a certain degree of consistency between forms, developers have frequently adhered to some type of standards which dictated the general layout of the forms. These standards for the forms have been implemented as “best practice” or preferred implementations. While software developers can reply upon best practices for guidance in determining how a particular form should look, even with best practices, the developers face the labor intensive task of creating each of the many different forms largely independently of each other.
Another difficulty which both software developers and customers or users face relates to the labor intensive task of updating forms when needed. Traditionally, if a form was based on a particular business model, changes to the business model would require that the developer change the form associated with the business model separately. Further, if a large number of forms corresponded to the same business model, changes to the business model would require that each of the corresponding forms be updated as well. Also, any time the layout or the contents of a large number of forms was desired to be changed, each of the large number forms were revised independently. Thus, these difficulties made it a labor-intensive task for software developers to create a large number of forms, and likewise made it difficult for customers or users of the software applications to make changes to the business model and forms themselves.
The present invention provides solutions to one or more of the above-described problems and/or provides other advantages over the prior art.